﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace RayTracer.Environment.Materials
{
    /// <summary>
    /// Hält eine Liste von Metallmaterialien
    /// </summary>
    public static class Metall
    {
        #region Eigenschaften
        /// <summary>
        /// Bronze
        /// </summary>
        public static Material Bronze { get { return new Material(Color.FromArgb(255, 54, 33, 13), Color.FromArgb(128, 181, 110, 46), Color.FromArgb(255, 99, 69, 43), 12.5f, 2f, 1f, 0f); } }

        /// <summary>
        /// Bronze (Poliert)
        /// </summary>
        public static Material BronzePoliert { get { return new Material(Color.FromArgb(255, 64, 38, 15), Color.FromArgb(102, 102, 61, 26), Color.FromArgb(255, 196, 117, 51), 32f, 3f, 1f, 0f); } }


        /// <summary>
        /// Chrom
        /// </summary>
        public static Material Chrom { get { return new Material(Color.FromArgb(255, 64, 64, 64), Color.FromArgb(64, 102, 102, 102), Color.FromArgb(255, 196, 196, 196), 10f, 5f, 1f, 0f); } }

        /// <summary>
        /// Gold
        /// </summary>
        public static Material Gold { get { return new Material(Color.FromArgb(255, 64, 51, 18), Color.FromArgb(128, 191, 156, 59), Color.FromArgb(255, 161, 166, 94), 25f, 3f, 1f, 0f); } }


        /// <summary>
        /// Gold (Poliert)
        /// </summary>
        public static Material GoldPoliert { get { return new Material(Color.FromArgb(255, 64, 56, 15), Color.FromArgb(102, 89, 79, 23), Color.FromArgb(255, 204, 184, 54), 40f, 5f, 1f, 0f); } }

        /// <summary>
        /// Kupfer
        /// </summary>
        public static Material Kupfer { get { return new Material(Color.FromArgb(255, 48, 18, 5), Color.FromArgb(128, 179, 69, 20), Color.FromArgb(255, 66, 36, 23), 10f, 2f, 1f, 0f); } }

        /// <summary>
        /// Kpufer (Poliert)
        /// </summary>
        public static Material KupferPoliert { get { return new Material(Color.FromArgb(255, 59, 23, 8), Color.FromArgb(102, 140, 54, 18), Color.FromArgb(255, 148, 56, 18), 25f, 3f, 1f, 0f); } }

        /// <summary>
        /// Messing
        /// </summary>
        public static Material Messing { get { return new Material(Color.FromArgb(255, 84, 56, 8), Color.FromArgb(128, 199, 145, 28), Color.FromArgb(255, 252, 240, 207), 12f, 3f, 1f, 0f); } }

        /// <summary>
        /// Silber
        /// </summary>
        public static Material Silber { get { return new Material(Color.FromArgb(255, 48, 48, 48), Color.FromArgb(102, 130, 130, 130), Color.FromArgb(255, 130, 130, 130), 25f, 3f, 1f, 0f); } }

        /// <summary>
        /// Silber (Poliert)
        /// </summary>
        public static Material SilberPoliert { get { return new Material(Color.FromArgb(255, 59, 59, 59), Color.FromArgb(77, 71, 71, 71), Color.FromArgb(255, 196, 196, 196), 45f, 4f, 1f, 0f); } }

        /// <summary>
        /// Zinn
        /// </summary>
        public static Material Zinn { get { return new Material(Color.FromArgb(255, 28, 15, 28), Color.FromArgb(102, 110, 120, 138), Color.FromArgb(255, 84, 84, 133), 10f, 3f, 1f, 0f); } }

        #endregion Eigenschaften
    }
}
